namespace Crux.Core.LangChain.Abstractions.Databases;
/// <summary>
/// 
/// </summary>
public interface IVectorDatabase
{
    /// <summary>
    /// 
    /// </summary>
    /// <param name="collectionName"></param>
    /// <param name="dimensions"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<IVectorCollection> GetCollectionAsync(string collectionName, int dimensions = 1536, CancellationToken cancellationToken = default);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="collectionName"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task DeleteCollectionAsync(string collectionName, CancellationToken cancellationToken = default);
}